def fun(*args, **kwargs): # 位置参数，关键字参数
    return args, kwargs
    return a + b

print(fun(1, 2, 3, 4, 5, a=1, b=2, c=3))

#命名关键字参数：
def fun(a, b, *, c, d): # * 后面的参数都是命名关键字参数
    return a, b, c, d
print(fun(1, 2,  d=4, c=3)) # 命名关键字参数必须传入参数名，否则报错
print(fun(1, 2, 3, 4)) # 位置参数必须传入参数名，否则报错
print(fun(1, 2, 3, d=4)) # 位置参数必须传入参数名，否则报错